//
// Created by 28365 on 2025/3/9.
//

#ifndef ODUPDATERSDK_IFILEPROCESSOR_H
#define ODUPDATERSDK_IFILEPROCESSOR_H

#include "../include/obj/File.h"
#include "../include/obj/Res.h"

/**
 * 文件处理，用于处理更新时的文件操作
 */
class IFileProcessor {
public:
    //如果res是删除类型文件，若文件不存在则不需创建，存在则直接返回File，由调用方进行删除
    //如果res是更新类型文件，文件不存在则创建文件（包括父级目录），且需保证File中的outStream是可用状态
    virtual File *getFile(const string &rootDir,const Res &res) = 0;

    virtual ~IFileProcessor() = default;
};


#endif //ODUPDATERSDK_IFILEPROCESSOR_H
